package net.lahuobao.mall.entity.admin;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.*;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

/**   
 * @Title: Entity
 * @Description: 商品
 * @author zhangdaihao
 * @date 2016-09-12 15:02:08
 * @version V1.0   
 *
 */
@Entity
@Table(name = "mall_product", schema = "lahuobao")
@DynamicUpdate(true)
@DynamicInsert(true)
@SuppressWarnings("serial")
public class MallProductEntity implements java.io.Serializable {
	/**id*/
	private java.lang.Integer id;
	/**productcode*/
	private java.lang.String productcode;
	/**sellerproductcode*/
	private java.lang.String sellerproductcode;
	/**productname*/
	private java.lang.String productname;
	/**shopid*/
	private java.lang.Integer shopid;
	/**productcategoryid*/
	private java.lang.Integer productcategoryid;
	/**saletype*/
	private java.lang.Integer saletype;
	/**description*/
	private java.lang.String description;
	/**keywords*/
	private java.lang.String keywords;
	/**originalprice*/
	private BigDecimal originalprice;
	/**price*/
	private BigDecimal price;
	/**discount*/
	private BigDecimal discount;
	/**stockamount*/
	private java.lang.Integer stockamount;
	/**minmoney*/
	private BigDecimal minmoney;
	/**maxmoney*/
	private BigDecimal maxmoney;
	/**startdatetime*/
	private java.sql.Timestamp startdatetime;
	/**enddatetime*/
	private java.sql.Timestamp enddatetime;
	/**createtime*/
	private java.sql.Timestamp createtime;
	/**status*/
	private java.lang.Integer status;
	/**thumbnailurl*/
	private java.lang.String thumbnailurl;
	/**hasspec*/
	private java.lang.Integer hasspec;
	/**defaultspecid*/
	private java.lang.Integer defaultspecid;
	/*是否删除*/
	private java.lang.Integer isdelete;

	/*店铺*/
	private MallShopEntity mallShopEntity;

	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  id
	 */
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name ="ID",nullable=false,precision=10,scale=0)
	public java.lang.Integer getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  id
	 */
	public void setId(java.lang.Integer id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  productcode
	 */
	@Column(name ="PRODUCTCODE",nullable=false,length=50)
	public java.lang.String getProductcode(){
		return this.productcode;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  productcode
	 */
	public void setProductcode(java.lang.String productcode){
		this.productcode = productcode;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  sellerproductcode
	 */
	@Column(name ="SELLERPRODUCTCODE",nullable=true,length=50)
	public java.lang.String getSellerproductcode(){
		return this.sellerproductcode;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  sellerproductcode
	 */
	public void setSellerproductcode(java.lang.String sellerproductcode){
		this.sellerproductcode = sellerproductcode;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  productname
	 */
	@Column(name ="PRODUCTNAME",nullable=false,length=100)
	public java.lang.String getProductname(){
		return this.productname;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  productname
	 */
	public void setProductname(java.lang.String productname){
		this.productname = productname;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  shopid
	 */
	@Column(name ="SHOPID",nullable=false,precision=10,scale=0)
	public java.lang.Integer getShopid(){
		return this.shopid;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  shopid
	 */
	public void setShopid(java.lang.Integer shopid){
		this.shopid = shopid;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  productcategoryid
	 */
	@Column(name ="PRODUCTCATEGORYID",nullable=false,precision=10,scale=0)
	public java.lang.Integer getProductcategoryid(){
		return this.productcategoryid;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  productcategoryid
	 */
	public void setProductcategoryid(java.lang.Integer productcategoryid){
		this.productcategoryid = productcategoryid;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  saletype
	 */
	@Column(name ="SALETYPE",nullable=false,precision=10,scale=0)
	public java.lang.Integer getSaletype(){
		return this.saletype;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  saletype
	 */
	public void setSaletype(java.lang.Integer saletype){
		this.saletype = saletype;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  description
	 */
	@Column(name ="DESCRIPTION",nullable=true,length=150)
	public java.lang.String getDescription(){
		return this.description;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  description
	 */
	public void setDescription(java.lang.String description){
		this.description = description;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  keywords
	 */
	@Column(name ="KEYWORDS",nullable=true,length=500)
	public java.lang.String getKeywords(){
		return this.keywords;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  keywords
	 */
	public void setKeywords(java.lang.String keywords){
		this.keywords = keywords;
	}
	/**
	 *方法: 取得BigDecimal
	 *@return: BigDecimal  originalprice
	 */
	@Column(name ="ORIGINALPRICE",nullable=false,precision=18,scale=2)
	public BigDecimal getOriginalprice(){
		return this.originalprice;
	}

	/**
	 *方法: 设置BigDecimal
	 *@param: BigDecimal  originalprice
	 */
	public void setOriginalprice(BigDecimal originalprice){
		this.originalprice = originalprice;
	}
	/**
	 *方法: 取得BigDecimal
	 *@return: BigDecimal  price
	 */
	@Column(name ="PRICE",nullable=false,precision=18,scale=2)
	public BigDecimal getPrice(){
		return this.price;
	}

	/**
	 *方法: 设置BigDecimal
	 *@param: BigDecimal  price
	 */
	public void setPrice(BigDecimal price){
		this.price = price;
	}
	/**
	 *方法: 取得BigDecimal
	 *@return: BigDecimal  discount
	 */
	@Column(name ="DISCOUNT",nullable=false,precision=18,scale=2)
	public BigDecimal getDiscount(){
		return this.discount;
	}

	/**
	 *方法: 设置BigDecimal
	 *@param: BigDecimal  discount
	 */
	public void setDiscount(BigDecimal discount){
		this.discount = discount;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  stockamount
	 */
	@Column(name ="STOCKAMOUNT",nullable=false,precision=10,scale=0)
	public java.lang.Integer getStockamount(){
		return this.stockamount;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  stockamount
	 */
	public void setStockamount(java.lang.Integer stockamount){
		this.stockamount = stockamount;
	}
	/**
	 *方法: 取得BigDecimal
	 *@return: BigDecimal  minmoney
	 */
	@Column(name ="MINMONEY",nullable=false,precision=18,scale=2)
	public BigDecimal getMinmoney(){
		return this.minmoney;
	}

	/**
	 *方法: 设置BigDecimal
	 *@param: BigDecimal  minmoney
	 */
	public void setMinmoney(BigDecimal minmoney){
		this.minmoney = minmoney;
	}
	/**
	 *方法: 取得BigDecimal
	 *@return: BigDecimal  maxmoney
	 */
	@Column(name ="MAXMONEY",nullable=false,precision=18,scale=2)
	public BigDecimal getMaxmoney(){
		return this.maxmoney;
	}

	/**
	 *方法: 设置BigDecimal
	 *@param: BigDecimal  maxmoney
	 */
	public void setMaxmoney(BigDecimal maxmoney){
		this.maxmoney = maxmoney;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  startdatetime
	 */
	@Column(name ="STARTDATETIME",nullable=false)
	public java.sql.Timestamp getStartdatetime(){
		return this.startdatetime;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  startdatetime
	 */
	public void setStartdatetime(java.sql.Timestamp startdatetime){
		this.startdatetime = startdatetime;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  enddatetime
	 */
	@Column(name ="ENDDATETIME",nullable=true)
	public java.sql.Timestamp getEnddatetime(){
		return this.enddatetime;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  enddatetime
	 */
	public void setEnddatetime(java.sql.Timestamp enddatetime){
		this.enddatetime = enddatetime;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  createtime
	 */
	@Column(name ="CREATETIME",nullable=false)
	public java.sql.Timestamp getCreatetime(){
		return this.createtime;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  createtime
	 */
	public void setCreatetime(java.sql.Timestamp createtime){
		this.createtime = createtime;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  status
	 */
	@Column(name ="STATUS",nullable=false,precision=10,scale=0)
	public java.lang.Integer getStatus(){
		return this.status;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  status
	 */
	public void setStatus(java.lang.Integer status){
		this.status = status;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  thumbnailurl
	 */
	@Column(name ="THUMBNAILURL",nullable=false,length=200)
	public java.lang.String getThumbnailurl(){
		return this.thumbnailurl;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  thumbnailurl
	 */
	public void setThumbnailurl(java.lang.String thumbnailurl){
		this.thumbnailurl = thumbnailurl;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  hasspec
	 */
	@Column(name ="HASSPEC",nullable=false,precision=10,scale=0)
	public java.lang.Integer getHasspec(){
		return this.hasspec;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  hasspec
	 */
	public void setHasspec(java.lang.Integer hasspec){
		this.hasspec = hasspec;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  defaultspecid
	 */
	@Column(name ="DEFAULTSPECID",nullable=true,precision=10,scale=0)
	public java.lang.Integer getDefaultspecid(){
		return this.defaultspecid;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  defaultspecid
	 */
	public void setDefaultspecid(java.lang.Integer defaultspecid){
		this.defaultspecid = defaultspecid;
	}

	@OneToOne
	@JoinColumn(name = "shopid", insertable = false, updatable = false)
	public MallShopEntity getMallShopEntity() {
		return mallShopEntity;
	}

	public void setMallShopEntity(MallShopEntity mallShopEntity) {
		this.mallShopEntity = mallShopEntity;
	}

	@Column(name ="isdelete",nullable=false)
	public Integer getIsdelete() {
		return isdelete;
	}

	public void setIsdelete(Integer isdelete) {
		this.isdelete = isdelete;
	}
}
